SEPE-1058: Add patch file support and document SEPE fork#1
Merged
Conversation
Copy any *.patch files from the repo root into rpmbuild SOURCES before invoking rpmbuild, so spec files can use standard Patch0:/Patch1:/... declarations instead of brittle inline sed substitutions in %prep. No-op if the repo has no patch files, so existing consumers are unaffected. Add a Fork Notice section to the README documenting that this is a SEPE fork of naveenrajm7/rpmbuild, listing the SEPE-specific changes (AlmaLinux 8 base image adaptation and the new patch file support), and noting that upstream is dormant so we intentionally do not track against it.
There was a problem hiding this comment.
Pull request overview
This PR extends the RPM build GitHub Action to support RPM-style patch workflows by copying repository-root *.patch files into the rpmbuild SOURCES directory, and documents that this repository is a SEPE-maintained fork with SEPE-specific divergences from upstream.
Changes:
- Copy
*.patchfiles from/github/workspaceinto/github/home/rpmbuild/SOURCES/prior to invokingrpmbuild. - Add a “SEPE Fork Notice” section describing the fork and listing SEPE-specific modifications.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/main.ts | Adds patch-file copying into rpmbuild SOURCES so spec PatchN: declarations work. |
| README.md | Documents the SEPE fork status and enumerates SEPE-specific changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- main.ts: pass argv array to exec.exec instead of shell-interpolated string for cp, and guard against non-file entries via fs.statSync. Safer for filenames with spaces or leading dashes. - README.md: point example workflows at UCBoulder/oit-sepe-rpmbuild instead of upstream naveenrajm7/rpmbuild so users following the examples consume this fork. Also replace the multi-distribution note (el7/el8 variants) with a statement that this fork builds el8 only.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
*.patchfiles from the repo root into the rpmbuildSOURCESdir before invokingrpmbuild, so spec files can use standardPatch0:/Patch1:/... declarations instead of brittle inlinesedsubstitutions in%prep. No-op if the repo has no patch files, so existing consumers are unaffected.naveenrajm7/rpmbuild, list SEPE-specific modifications (AlmaLinux 8 adaptation and patch file support), and note that upstream is dormant so we intentionally do not track against it.Motivation
We first hit the patch-file limitation while building merlin against naemon 1.5.1 (SEPE-1041) and worked around it with an inline
sedinmerlin.spec %prep. That works for one tiny substitution but doesn't scale — a second merlin patch (upstream PR ITRS-Group/monitor-merlin#175) is queued, andsedcomposition for multiple patches is fragile.Test plan